1. Field of the Invention
The present invention relates to the field of microcontrollers. More particularly, the present invention relates to the integration of programmable analog circuits and programmable digital circuits on a single semiconductor chip.
2. Related Art
Microcontrollers may have embedded processors, memories and special function analog and digital circuits. Typical analog circuits found in prior art microcontrollers include Continuous Time (CT) amplifiers having preset functions with given functional parameters. For instance, a CT analog amplifier might be configured as a fixed function circuit, such as a voltage amplifier, in which certain parameters, such as gain or bandwidth might be altered by programming.
Switched Capacitor (SC) analog circuits are also frequently incorporated into microcontroller designs. SC analog circuits in prior art are somewhat more versatile than CT analog circuits in that it might be possible to alter both the circuit function as well as the parameters of the circuit function by programming. However, both CT and SC analog circuits found in current microcontrollers generally require programming before utilization, and neither can be dynamically programmed (programmed xe2x80x9con-the-flyxe2x80x9d).
In the conventional art, general purpose digital circuits are frequently included in a microcontroller implementation. Such digital circuits are pre-programmed to realize certain digital functions such as logical operations, arithmetical functions, counting, etc.. These digital circuits are generally in the form of a Programmed Logic Array (PLA) or FPGA. Furthermore, such digital circuits that require pre-programming are generally not dynamically programmable (programmable xe2x80x9con-the-flyxe2x80x9d). The main difficulty here is in the generality of such a digital circuit, which requires an excessive amount of digital logic, which in turn occupies a large area on a semiconductor chip as well as an increased cost of manufacturing.
Several other design considerations related to microcontroller utilization either go unaddressed, or require separate functionalities to enable them. For instance, existing designs do not offer a programmable analog circuit array with both CT analog circuits and SC analog circuits on the same semiconductor chip with a programmable array of digital circuits. As a result, realization of a function requiring complex communication between analog circuits and digital circuits often requires the use of multiple semiconductor chips. Further, existing microcontroller realizations generally require pre-programming and cannot be dynamically programmed.
What is needed is a method and/or system which can be dynamically programmed to complete a complex communication interface between analog circuits and digital circuits in order to realize a desired microcontroller circuit function. What is also needed is a method and/or system that can utilize both CT and SC analog circuits implemented along with digital circuits on a single semiconductor chip. Further, what is needed is a method and/or system in which the functions and/or function parameters of the analog circuits and the digital circuits can be reconfigured by dynamic programming (programming xe2x80x9con-the-flyxe2x80x9d). Further still, what is needed is a circuit and/or system in which a reduction of the digital logic implemented to realize a dynamically programmable digital circuit results in a reduction in required semiconductor chip area.
Accordingly, the present invention provides a microcontroller consisting of programmable analog blocks and programmable digital blocks interconnected with a programmable interconnect structure fabricated on a single semiconductor chip. A programmable mixed analog/digital architecture offers an excellent analog and digital interface that solves many design needs. The present design provides the complex communication interface between digital and analog blocks that can be reconfigured on-the-fly. The programmable analog array with both Continuous Time (CT) analog blocks and Switched Capacitor (SC) analog blocks are realized on the same semiconductor chip with programmable digital blocks.
A microcontroller with a mixed programmable analog/digital architecture including multiple digital programmable blocks and multiple analog programmable blocks in a communication array having a programmable interconnect structure is described. The single chip design is implemented by integration of programmable digital and analog circuit blocks that are able to communicate with each other. Robust analog and digital blocks that are flash memory programmable can be utilized to realize complex design applications that otherwise would require multiple chips and/or separate applications. The programmable microcontroller architecture includes a novel array having programmable digital blocks that can communicate with programmable analog blocks using a programmable interconnect structure. The programmable analog array contains a complement of Continuous Time (CT) blocks and a complement of Switched Capacitor (SC) blocks that can communicate together. The analog blocks consist of multi-blocks that can communicate together. The analog blocks consist of multi-function circuits programmable for one or more different analog functions, and fixed function circuits programmable for a fixed function with variable parameters. The digital blocks include standard multi-function circuits and enhanced circuits having functions not included in the standard digital circuits. The programmable array is programmed by flash memory and programming allows dynamic reconfiguration. That is, xe2x80x9con-the-flyxe2x80x9d reconfiguration of the programmable blocks is allowed. The programmable analog array with both Continuous Time analog blocks and Switched Capacitor analog blocks are offered on a single chip along with programmable digital blocks. The programmable interconnect structure provides for communication of input/output data between all analog and digital blocks.
More specifically, a first embodiment of the present invention includes a number of programmable analog circuit blocks configured to provide various analog functions, and a number of programmable digital circuit blocks configured to provide various digital functions. A programmable interconnect structure comprising a routing matrix and an independent bus provides coupling between analog circuit blocks, digital circuit blocks and external devices. Flash memory is used to program the interconnect structure as well as the analog circuit blocks and the digital Circuit blocks. Programming can be accomplished dynamically to reconfigure any of the programmable blocks or the interconnect structure.
A complement of Continuous Time (CT) analog circuit blocks and a complement of Switched Capacitor (SC) analog circuit blocks are configured to communicate with one another as well as with external devices by means of the interconnect structure. Dynamic or xe2x80x9con-the-flyxe2x80x9d programming of the interconnect structure is used to direct data between both analog circuit blocks and digital circuit blocks as well as any external devices coupled to the semiconductor chip. A number of the analog circuit blocks are multi-function circuits that can be reconfigured by dynamic programming (xe2x80x9con-the-flyxe2x80x9d programming) to perform a number of differing functions. Some of the analog circuit blocks are capable of only a single function, but dynamic or xe2x80x9con-the-flyxe2x80x9d programming can reconfigure the parameters of the function. Standard digital circuit blocks are configured to perform various digital operations including logical decisions and arithmetical computations. Enhanced digital circuit blocks are configured similarly to the standard digital circuit blocks and have additional digital functions available. Both standard and enhanced digital circuit blocks are reconfigurable by dynamic or xe2x80x9con-the-flyxe2x80x9d programming.